BRPI0609159A2 - ontologia de incorporação de autoração de recurso - Google Patents
ontologia de incorporação de autoração de recurso Download PDFInfo
- Publication number
- BRPI0609159A2 BRPI0609159A2 BRPI0609159-8A BRPI0609159A BRPI0609159A2 BR PI0609159 A2 BRPI0609159 A2 BR PI0609159A2 BR PI0609159 A BRPI0609159 A BR PI0609159A BR PI0609159 A2 BRPI0609159 A2 BR PI0609159A2
- Authority
- BR
- Brazil
- Prior art keywords
- data
- localization
- translation
- localized
- platform
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
ONTOLOGIA DE INCORPORAçãO DE AUTORAçãO DE RECURSO. A presente invenção provê um sistema para processar dados.
Description
<image>image see original document page 2</image>
"ONTOLOGIA DE INCORPORAÇÃO DE AUTORAÇÃO DE
RECURSO"
ANTECEDENTES DA INVENÇÃO
Trata-se a . presente invenção de processamento de
dados.
Localização é um processo de modificar produtos ou serviços para responder pelas diferenças em mercados distintos . Um exemplo muito comum de localização ocorre quando uma aplicação é autorada em um idioma de origem e é introduzida em um mercado que usa um idioma de destino diferente do original . Por exemplo, se uma aplicação fosse autorada na linguagem inglesa e depois introduzida na China, ela seria localizada traduzindo as várias cadeias de linguagem inglesa e elementos de IU (menus, icones, etc.), componentes de software e assistência do usuário na aplicação para chinês. 0 esquema e estilo da IU (incluindo tipo de fonte, tamanho, posições de controle, etc. ) também provavelmente serão alterados para adequar ao idioma alvo. Claro que, o conceito de localização é mais vasto que simplesmente modificar a linguagem. Mercados que usam a mesma linguagem podem ser distintos por outras razões. Por exemplo, uma aplicação de software pode ser "localizada" para faixas etárias diferentes. Ela pode ter um conjunto de—linguagem e aparência para adultos e outro para crianças ou adolescentes. Desse modo, localização ilustrativamente adapta-se a uma ampla variedade de diferenças em mercados distintos.
Embora, como descrito acima, localização envolva muitos mais coisas que apenas traduzir cadeias; para facili-
PI0609159-8tar a leitura do documento nós concentraremos a descrição naquele cenário. De um modo similar, a maioria dos exemplos é tirada do campo de localização de software mas a invenção não é limitada à localização de software. Similarmente, em-5 bora muito do presente debate focalize em localizar um produto, a invenção não é desta forma limitada e é da mesma maneira aplicável a serviços,' e desse modo o termo "produto" inclui "serviços" para finalidade desta descrição. No passado, não houve uma tentativa de nivel de sistema para forne-
cer localização mas do contrário, localização foi executada usando componentes individuais para solucionar problemas individuais . Por exemplo, um localizador pode ser ampliado com certas técnicas de tradução computadorizada para melhorar a velocidade, precisão e consistência de localização. Porém,um localizador diferente pode usar só memórias de tradução para ampliar a taxa de reciclo reusando as traduções anteriores , conseqüentemente fornecendo um resultado mais consistente a uma velocidade mais alta que seria sem ferramentas.
Também, isso tudo foi feito, convencionalmente, de um modo fora-de-linha. Em outras palavras, o autor cria uma aplicação inteira ou uma porção grande de um componente, e aquele componente ou aplicação é provido a um localizador para localização. 0 processo usual é de modo que a interação do localizador com o autor original seja minima ou não- existente. Isto torna dificil de introduzir alterações no conteúdo original que facilitaria sua localização. De fato, em muitos casos, a localização não é executada até bem após o produto inteiro ter sido desenvolvido e uma decisão demercadologia estratégica ter sido tomada para expandir aquele produto para dentro de um mercado diferente que usa uma linguagem diferente ou é distinto de outro modo. Em todos destes casos, há tipicamente muito pouco trabalho de frente 5 feito em desenvolver uma aplicação com localização em mente ou até mesmo otimizar para localização. Similarmente, há muito pouco suporte, no estágio de desenvolvimento/autoração, para desenvolver uma aplicação ou outro produto/serviço que serão relativamente fáceis de localizar, embora autorar um produto ou serviço que é facilmente localizável não seja mais dificil que autorar um que não seja fácil de localizar.
Portanto, produtos, serviços e aplicações foram tradicionalmente traduzidos em linguagens diferentes ou do contrário localizados através de um processo complexo, manu-
al e de trabalho intensivo. O custo para esta localização de produtos de software, e a tradução do conteúdo relacionado ao produto, representa uma barreira significativa que deve ser superada para entrar em mercados■novos. Isto é especialmente verdade para fornecedores de softwares independentes
de tamanho pequeno a médio ou autores de conteúdo.
0 problema de localização também ascende dependendo da localização particular em que o software é desenvolvido . Para desenvolvedores que estão autorando software em localizações que têm mercados grandes, localizar o software
para diferentes mercados (e provavelmente menores) é menos que uma necessidade. Porém, se um desenvolvedor autora em uma localização (e usando uma linguagem) que tem um mercado relativamente pequeno, a viabilidade inteira do produto podedepender da habilidade para localizar aquele produto em linguagens usadas em mercados maiores. Isto requer dos fabricantes gastarem uma quantidade desordenadamente alta de recursos na localização. Isto freqüentemente detrae dos recur-5 sos disponíveis para desenvolvimento.
Outro problema associado aos esforços de localização anteriores é que não houve um modo bom para utilizar o trabalho de uma variedade de outras fontes de localização. Por exemplo, uma ampla variedade de vendedores localiza seus
produtos para vários mercados. Aplicações similares, desenvolvidas por vendedores diferentes, podem provavelmente estar localizando as mesmas cadeias, ou bem parecidas, ou software para os mesmos mercados. Porém, não há nenhum modo expediente correntemente para os dois utilizarem, ou compar-
tilharem, os esforços um do outro. Portanto, há muito de esforço duplicado em localizar produtos.
Além disso, há muitos modelos de programação diferentes (como manuscritos de Win32, CLR e de REDE) com tipos diferentes de gerenciadores de recurso, formatos de recurso
e armazenamentos de dados. Eles requerem analisadores gramaticais e conjuntos de ferramentas diferentes para manipular a localização, que resulta em processos complexos e caros e inconsistências na qualidade de localização. SUMÁRIO DA INVENÇÃO
A presente invenção prove um sistema para .proces-
sar dados.
BREVE DESCRIÇÃO DOS DESENHOS
FIG. 1 é uma modalidade ilustrativa de um ambienteno qual a presente invenção pode ser usada.
FIG. 2 é um diagrama de blocos mais detalhado de um ambiente de tempo de execução empregando aspectos da presente invenção.
FIG. 3 é um fluxograma que ilustra a operação ge-
ral da plataforma (ou sistema) mostrada na FIG. 2 na qual uma tradução está indisponível.
FIG. 4 é um fluxograma que ilustra a operação de um componente de pareamento mostrado na FIG. 2.
FIG. 5 é um diagrama de blocos mais detalhado da
plataforma de localização (ou sistema) mostrada na FIG. 2, quando usada durante o desenvolvimento de uma aplicação ou outro conteúdo.
FIG. 6 é um fluxograma que ilustra como um produto pode ser desenvolvido implementando técnicas que auxiliam na localização posterior, de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DETALHADA DAS MODALIDADES ILUSTRATIVAS A presente invenção prove um sistema operacional com uma plataforma de localização integrada, ou uma plataforma de localização que tem componentes estritamente operá-veis com o sistema operacional, embora não completamente integrado. A plataforma de localização presente pode também ser fornecida como um serviço que é requerido pelo sistema operacional. A presente invenção utiliza a plataforma de localização para localizar o conteúdo e software. A presente invenção pode também ser usada durante o desenvolvimento de produtos ou serviços, implementando práticas que permitemlocalização mais rápida e mais eficiente do produto ou serviço. 0 debate presente prosseguirá primariamente com respeito à tradução durante o processo de localização, mas a invenção não é desse modo limitada e localização inclui uma ampla variedade de outras acomodações para mercados distintos também. Antes de descrever a presente invenção em mais detalhes, uma modalidade de um ambiente no qual a presente invenção pode ser usada será descrita.
FIG. 1 ilustra um exemplo de um ambiente de sistema de computação 100 adequado no qual a invenção pode ser implementada. O ambiente de sistema,de computação 100 é apenas um exemplo de um ambiente de computação adequado e não é intencionado sugerir qualquer limitação sobre o escopo de uso ou funcionalidade da invenção. Nem deve o ambiente de computação 100 ser interpretado como tendo qualquer dependência ou requerimento relativo a qualquer um ou combinação de componentes ilustrados no ambiente operacional exemplar 100.`
A invenção é operacional com numerosos outros ambientes de sistema de computação ou configurações de propósito geral ou. especial. Exemplos de sistemas de computação, ambientes, e/ou configurações bem conhecidos podem ser adequados para o uso com a invenção incluem, mas não são limitados , computadores pessoais, computadores servidores, dispositivos portáteis ou laptops, sistemas de multiprocessador, sistemas com base em microprocessador, dispositivos eletrônicos, eletrônicos programáveis pelo consumidor, PCs de rede, mini computado res-, mainf rames, sistemas de telefonia, ambientes de computação distribuídos que incluem qualquer um dossistemas ou dispositivos acima, e outros.
A invenção pode ser descrita no contexto geral de instruções executáveis por computador, como módulos de programa, sendo executados por um computador. Em geral, módulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, etc. que executam tarefas particulares ou implementam tipos de dados de resumo, particulares. A invenção é projetada para ser praticada em ambientes de computação distribuídos onde as tarefas são executadas por dispositivos de processamento remotos que estão ligados através de uma rede de comunicações. Em um ambiente de computação distribuído, módulos de programa estão localizados nos meios de armazenamento de computador local e remoto incluindo dispositivos de armazenamento de memória. Com referência à FIG. 1, um sistema exemplar para implementar a invenção inclui um dispositivo de computação de propósito geral na forma de um computador 110. Componentes de computador 110 podem incluir, mas não são limitados, uma unidade de processamento 120, uma memória do sistema 130 e um barramento do sistema 121 que acopla vários componentes do sistema incluindo a memória do sistema à unidade de processamento 120. 0 barramento do sistema 121 pode ser quaisquer de vários tipos de estruturas de barramento incluindo um barramento de memória ou controlador de memória, um barramento periférico e um barramento local usando qualquer de uma variedade de arquiteturas de barramento . Por via de exemplo, e não limitação, tais arquiteturas incluem barramento de Arquitetura Padrão Industrial (ISA), barramento de Arquitetura de Micro Canal (MCA), bar-ramento de ISA Otimizada (EISA), barramento local da Associação dos Padrões de Eletrônicos de Video (VESA) e barramento de Interconexão de Componentes Periféricos (PCI) também conhecido como barramento de Mezanino.
Computador 110 tipicamente inclui uma variedade de meios legíveis por computador. Meios legíveis por computador podem ser quaisquer meios disponíveis que podem ser acessados pelo computador 110 e podem ser incluídos meios voláteis e não-voláteis, meios removíveis e não-removiveis. Por via de exemplo, e não limitação, meios legíveis por computador podem compreender meios de armazenamento de computador e meios de comunicação. Meios de armazenamento de computador incluem meios voláteis e não-voláteis, removíveis e não-removiveis implementados em qualquer método ou tecnologia para armazenamento de informação como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Meios de armazenamento de computador incluem, mas não são limitados, RAM, ROM, EEPROM, memória instantânea ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento de disco óptico, cassetes magnéticos, fita magnética, armazenamento de disco magnético ou outros dispositivos de armazenamento magnéticos, ou qualquer outro meio que pode ser usado para armazenar a informação desejada e que pode ser acessado pelo computador 110. Meios de comunicação tipicamente incorporam instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado como uma onda portadora ou outro mecanismo de transporte e inclu-em quaisquer meios de liberação de informação. 0 termo "sinal de dados modulado" significa um sinal que tem uma ou mais de suas características fixadas ou alteradas em uma tal maneira a codificar a informação no sinal. Por via de exemplo, e não limitação, meios de comunicação incluem meios com fios como uma rede com fios ou conexão com fios direta, e meios sem fios como acústico, RF, infravermelho e outros meios sem fios. Combinações de qualquer um dos acima deve também ser incluída dentro do escopo de meios legíveis por computador. A memória do sistema 130 inclui meios de armazenamento de computador na forma de memória volátil e/ou não-volátil como memória exclusiva de leitura (ROM) 131 e memória de acesso aleatório (RAM) 132. Um sistema básico de entrada/saída 133 (BIOS), contendo as rotinas básicas que ajudam a transferir informação entre os elementos dentro do computador 110, como durante a inicialização, é tipicamente armazenado na ROM
131. RAM 132 tipicamente contém dados e/ou módulos de programa que são imediatamente acessíveis e/ou presentemente sendo operados através da unidade de processamento 120. Por via de exemplo, e não limitação, FIG. 1 ilustra sistema operacional 134, programas de aplicação 135, outros módulos de programa 136 e dados de programa 137.
O computador.110 pode também incluir outros meios de armazenamento- de computador de voláteis/não-voláteis removível s/não-removiveis. Por via de exemplo apenas, FIG. 1 ilustra uma unidade de disco rigido 141 que lê ou escreve em meios magnéticos não-removíveis, não-voláteis, uma unidade de disco magnético 151 que lê ou escreve em um disco magné-tico removível, não-volátil 152 e uma unidade de disco óptico 155 que lê ou escreve em um disco óptico removível, não-volátil 156 como um CD ROM ou outros meios ópticos. Outros meios de armazenamento de computador removiveis/não-removiveis, voláteis/não-voláteis que podem ser usados no ambiente operacional exemplar incluem, mas não são limitados, cassetes de fita magnética, cartões de memória instantânea, discos versáteis digitais, fita de video digital, RAM em estado sólido, ROM em estado sólido e outros. A unidade de disco rigido 141 é tipicamente conectada ao barramento do sistema 121 através de uma interface de memória não-removivel como interface 14 0, e a unidade de disco magnético 151 e a unidade de disco óptico 155 são tipicamente conectadas ao barramento do sistema 121 por uma interface de memória removível, como interface 150.
As unidades e seus meios de armazenamento de computador associados debatidos acima e ilustrados na FIG. 1, provêem armazenamento de instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados para o computador 110. Na FIG. 1, por exemplo, unidade de disco rígido 141 é ilustrada como armazenando o sistema operacional 144, programas de aplicação 145, outros módulos de programa 146 e dados de programa 147. Observe que estes componentes ou podem ser iguais ou diferentes do sistema operacional 134, programas de aplicação 135, outros módulos de programa 136 e dados de programa 137. Sistema operacional 144, programas de aplicação 145, outros módulos de programa 14 6 e dados de programa 14 7 são números diferentes dados a-qui para ilustrar que, no minimo, eles são cópias diferentes Um usuário pode entrar os comandos e informação no computador 110 através dos dispositivos de entrada como um teclado 162, um microfone 163 e um dispositivo de apontamento 161, como um mouse, trackball ou mesa de toque. Outros dispositivos de entrada (não mostrados) podem incluir um joystick, acionador de jogo, disco satélite, escâner ou outros. Estes e outros dispositivos de entrada são freqüentemente conectados à unidade de processamento 120 através de uma interface de entrada do usuário 160 que é acoplada ao barramento do sistema, mas pode ser conectado por outra interface e estruturas de barramento, como uma porta paralela, porta de j ogo ou um barramento serial universal (USB) . Um monitor 191 ou outro tipo de dispositivo, de exibição são também conectados ao barramento do sistema 121 por meio de uma interface, como uma interface de video 190. Além do monitor, os computadores podem também incluir outros dispositivos de saida periféricos como alto-falantes 197 e impressora 196 que podem ser conectados através de uma interface de saida periférica 195.
O computador 110 é operado em um ambiente em rede usando conexões lógicas para um ou mais computadores remotos, como um computador.remoto 180. O computador remoto 180 pode ser um computador pessoal, um dispositivo de mão, um servidor, um roteador, um PC de rede, um dispositivo semelhante ou outro nó de rede comum, e tipicamente inclui muitos ou todos os elementos descritos com relação ao computador 110 acima. As conexões lógicas descritas na FIG. 1 incluem umarede de área local (LAN) 171 e uma rede de longa distância (WAN) 173, mas podem também incluir outras redes. Tais ambientes de gestão de redes são comuns em escritórios, redes de computador de grandes empresas intranets e a Internet.
Quando usado em um ambiente de gestão de redes LAN, o computador 110 é conectado à LAN 171 através de uma interface ou adaptador de rede 170. Quando usado em um ambiente de gestão de redes WAN, o computador 110 tipicamente inclui um modem 172 ou outros dispositivos para estabelecer comunicações na WAN 17 3, como a Internet. O modem 172 que pode ser interno ou externo pode ser conectado ao barramento do sistema 121 por meio da interface de entrada do usuário 160, ou outro mecanismo apropriado. Em um ambiente em rede, módulos de programa descritos com relação ao computador 110, ou porções deste, podem ser armazenados no dispositivo de armazenamento de memória remoto. Por via de exemplo, e não limitação, FIG. 1 ilustra programas de aplicação 185 remotos como residindo no computador remoto 180. Será apreciado que as conexões de rede mostradas são exemplares e outros dispositivos de estabelecer um vinculo de comunicações entre os computadores podem ser usados.
FIG. 2 ilustra uma plataforma de localização (ou sistema) 200 que é integrado no sistema operacional 134 mostrado na FIG. 1. Plataforma de localização 200 é mostrada com vários armazenamentos de memória diferentes, e será a-preciado que aqueles armazenamentos de memória podem ser incorporados em qualquer um da variedade de dispositivos de armazenamento mostrados na FIG. 1, ou em dispositivos de ar-mazenamentos diferentes. Sistema 200 é mostrado interativamente disposto com uma aplicação 202 que sofrerá localização e uma variedade de fontes de entrada 204 que introduzem várias traduções nos armazenamentos de dados no sistema 200 5 através do componente de ajuntamento de dados 205.
Sistema 200, em si, inclui gerenciador de recursos 20 6, máquina de esquema 208, pareador de memória de tradução (TM) 210, gerenciador de transferência 212, serviço de dados " de memória de tradução (TM) 214, sistema de tradução compu-10 tadorizada (MT) 216, filtros 218, sistema de certificado 220 e uma pluralidade de armazenamentos de dados diferentes. Os armazenamentos de dados mostrados na FIG. 2 incluem armazenamento de dados de regras da aplicação 222, armazenamentos local e privado 22 4 e 22 6, respectivamente, armazenamento de 15 dados de base de termo 2-28 e armazenamento de dados de tradução de base de termo 230, armazenamento de ontologia 2 32, memória de tradução 234 e armazenamento de dados de elementos de IU comum 236. Em geral, as regras da aplicação são usadas nos recursos para especificar dados ricos relaciona-20 dos à aplicação, "enquanto os filtros são usados para assegurar que' as entidades (ou fontes de entrada 204) contribuindo para dados sejam apenas capazes de modificar os dados que elas contribuíram, e que são filtrados todos os dados adicionados com base em certas regras. Claro que, os armazena-25 mentos de dados podem ser agrupados, fundidos ou divididos diferentemente, de qualquer modo desejado. A operação detalhada do sistema. 200 é descrita depois no relatório descritivo com respeito às FIGS. 2-6. Porém, um debate breve daoperação de sistema 200 e dos itens mostrados na FIG. 2 será agora empreendido. Durante o tempo de execução, o gerenciador de recursos 20 6 carrega os recursos associados à aplicação 202 para a memória cache 207 (cenários similares podem ser encontrados para conteúdo e outro tipo de dados localizáveis) . Gerenciador de recurso 206 também recebe chamadas da aplicação 202 por recursos. O gerenciador de recursos 20 6, em resposta, primeiro carrega uma cadeia em uma linguagem que é associado ao local correntemente selecionados pela plataforma 200. O gerenciador de recursos 206 decide que versão do recurso carregar com base em uma variedade de critérios como disponibilidade, nivel de confiança, ajustes do usuário, etc. Gerenciador de recursos 20 6 pode decidir invocar o pareador de TM 210. Assim fazendo, o gerenciador de recursos 206 chama o pareador de TM 210 para obter uma tradução (ou localização) de um recurso especificado. O pareador de TM 210 pode também pré-povoar dados do recurso para impedir demoras de tempo de execução no carregamento do recurso; a informação pré-povoada será marcada com informação relevante como se veio do sistema de MT 216 ou do pareador de TM 210, sua fonte de confiança, etc. Isto é debatido em maior detalhe abaixo. Se o pareador de TM 210 não retornar um pareamento para o recurso, o gerenciador de recursos 206 cascateia através de recuperações de dados de recurso de forma que a tradução pode ser fornecida em uma linguagem de recuperação de dados diferente. Isto é também descrito em maior detalhe abaixo. Também, em uma modalidade, tanto o. gerenciador de recursos206 como o pareador de TM 210 têm recuperações de dados. E-les podem ser diferentes um do outro e embora os resultados do pareador de TM 210 possam influenciar o gerenciador de recursos 206, o gerenciador de recursos 206 pode decidir recuperar dados sem chamar o pareador de TM 210.
Não é incomum que as alterações feitas pela localização nas cadeias forcem alterações nos itens de exibição contendo aquelas cadeias. Exemplos comuns incluem a necessidade por mais espaço (cadeias mais longas), alterações no fluxo de um diálogo (linguagens da direita para esquerda vs. linguagens da esquerda para direita), etc. O processo de a-juste pode acontecer no tempo da localização, no tempo de versão ou ambos. O caso mais comum é que rearranjo e redimensionando dos itens de um diálogo são necessários, e o processo é referido como esquema automático. A quantidade e exatidão da informação fornecida durante o processo de auto-ração influenciarão os resultados produzidos no tempo de e-xecução.
O pareador de TM 210 está situado entre várias fontes de traduções e o gerenciador de recursos 206, que solicita que o conteúdo seja pareado (ou traduzido em outra linguagem ou do contrário localizado). Pareador de TM 210 pesquisa as fontes disponíveis (e aqueles fontes que são confiadas pela aplicação 202) para encontrar uma tradução que tem a contagem de confiança mais alta associado a ele.
Novamente, um debate mais detalhado da operação do pareador de TM 210 está exposto abaixo com respeito à FIG. 4. Porém, brevemente, o pareador de TM 210 acessa as regras as-sociadas à aplicação ou conteúdo 202 no armazenamento de dados de regras da aplicação 222 para assegurar que qualquer localização seja fornecida de volta ao gerenciador de recursos 206 não faça com que a aplicação 202 funcione mal. 0 pa-reador de TM 210 primeiro pesquisa o armazenamento de dados local 224 e armazenamento de dados privado 22 6 para ver se uma localização já existe. Armazenamento de dados local 22 4 retém as traduções ou outras localizações de recursos que já foram localizadas, no caso a solicitação sendo feita através
do gerenciador de recursos 2 06 é uma que já foi feita antes.
Pareador de TM 210 também invoca serviço de dados de TM 214. Serviço de dados de TM 214 acessa a memória de tradução 234 que contém as traduções ou outras localizações de uma ampla variedade de coisas diferentes, como elementos
da interface do usuário (IU) comuns armazenados no armazenamento 236, como também .termos definidos armazenados na base de termos 228, e o armazenamento de ontologia 232 prove informação de contexto para a aplicação 202 e um dominio associado .
Se nenhuma localização já existir ou localmente no
armazenamento 224 ou 226, ou remotamente no armazenamento 234, o pareador de TM 210 pode acessar um sistema de tradução computadorizada (MT) 216 opcionalmente disponível (ou um de uma pluralidade de sistemas de MT disponíveis) para exe-
cutar a tradução computadorizada no conteúdo a ser localizado. A decisão pelo pareador de TM 210 para invocar o sistema de MT 216 pode ser com base nas preferências do usuário, na disponibilidade de uma tradução, na qualidade das traduçõesdisponíveis e traduções fornecidas pela MT, etc. Sistema de tradução computadorizada 216, em uma modalidade, é qualquer sistema de MT comercialmente disponível e é ilustrativamente apenas utilizado para traduções se não houver nenhum parea-mento com um nível de confiança mais alto de quaisquer das outras fontes de memória (como serviço de dados de TM 214 e os armazenamentos de dados locais e privados 224 e 226) . 0 fato que o sistema de MT 216 pode ser substancialmente qualquer sistema de MT, ou qualquer sistema capaz de usar os dados nos armazenamentos diferentes (por exemplo traduções anteriores ) para produzir traduções, grandemente intensifica a extensibilidade do sistema, porque os novos ou diferentes sistemas de MT podem ser facilmente utilizados pelo pareador de TM 210.
Claro que, a extensibilidade do sistema de MT não é a única extensibilidade no sistema, mas é apenas um exemplo . Alguns outros exemplos de extensibilidade de sistema incluem editores de autoração de conteúdo, analisadores gramaticais de linguagem, memórias de tradução de terceiros, editores de comunidade, ambientes de autoração de desenvolvimento, conexão para serviços de rede, etc. Extensibilidade nestas áreas e outras são suportados pelas APIs na plataforma 200.
Em todo caso, cada um dos recursos de tradução chamados pelo pareador de TM 210 ilustrativamente fornecerão ao pareador de TM 210 uma classificação de confiança (ou taxa de tradução, taxa de reciclo, ou outra medida similar) indicativa da taxa de confiança ou re-uso associada à loca-lização sendo requerida. Pareador de TM 210 pode depois selecionar a localização ou tradução da fonte confiada que fornece a tradução associada à contagem mais alta. As traduções são depois transferidas através do gerenciador de transferência 212 para armazenamento local 224, se eles já não estiverem armazenados lá. Em uma modalidade ilustrativa, uma ampla variedade de fontes de entrada 204 pode fornecer entradas de tradução às várias memórias no sistema 2 00. Por exemplo, vendedores ou fabricantes de software que desenvolvem sistemas operacionais incorporando plataforma de localização 200 ilustrativãmente fornecerão termos confiados às várias memórias. Porém, em uma modalidade, as fontes de entrada 204 podem incluir a comunidade como um todo e a comunidade de desenvolvimento. A comunidade como um todo permite qualquer um que executa os serviços de localização usar o sistema 200 para fornecer uma localização sugerida de um pedaço do conteúdo à memória apropriada através de componente de ajuntamento de dados 205. As fontes de entrada 204 podem também incluir a comunidade de desenvolvimento (ao invés da comunidade como um todo) que armazenará as traduções fornecidas apenas pelos desenvolvedores oficialmente reconhecidos como tais. Desse modo, pode ser visto que a plataforma 200 permite abrir o processo de localização para envolvimento da comunidade em uma escala muito grande como também ajustado a um nivel granular (por exemplo, o usuário decide o que confiar e o que não) para satisfazer as necessidades e expectativas do usuário.
Também, componente de aj untamento de dados podedinamicamente (durante a instalação, tempo de execução, con-figuração, etc.) com intermitência coletar novos dados deuma variedade de fontes de entrada 204. Os novos dados podemser, claro, novos dados de recurso como também dados pré-localizados ou dados da memória de tradução, para suportaraplicações novas, dominios novos e executar autogiro de umsistema operacional operante. Isto abrange adaptabi1idade eprecisão do sistema.
Porém, um desenvolvedor de aplicações particular,administrador de sistema ou usuário pode desejar que apenascerto conteúdo de localização seja confiado. Por exemplo, odesenvolvedor pode não querer confiar no conteúdo de locali-zação da comunidade como um todo ou na comunidade de desen-volvimento, mas apenas dos vendedores e fabricantes de SO.Isto permite o desenvolvedor ou usuário ajustar até que pon-to a plataforma 200 abre as tarefas de localização á dife-rentes fontes. Isto pode ser ajustado até mesmo em uma basede cadeia-por-cadeia.
Em uma tal modalidade, o sistema 200 inclui siste-ma de certificado 220 que liga os certificados ao conteúdoforneceu através de certas fontes. Naquela circunstância, odesenvolvedor de aplicação 202 pode desej ar que apenas oconteúdo de localização com um certificado anexado seja con-fiado . Por exemplo, os desenvolvedores e outros contribuin-tes poderiam ser capazes de obter o direito para assinar seuconteúdo que é relativo à fileira que eles estão, em relaçãoa sua aplicação. Significa que um certificado do desenvolve-dor de uma aplicação põe aquele desenvolvedor na fileira dedesenvolvedor para aquela aplicação especifica e todos osoutros contribuintes estão uma fileira abaixo no "outro ISV",fileira de comunidade ou de usuário. Os certificados podemser confiados com relação à fileira do contribuinte. Por e-xemplo, um fabricante dado sempre poderia ter a fileira maisalta, mas daquela fileira para baixo o usuário pode determi-nar uma fileira confiada e dentro de uma fileira fontes con-fiadas. A indicação sobre que conteúdo de localização é paraser confiado por qualquer aplicação 202 dada ou por qualquerusuário pode ser armazenada no armazenamento de dados de re-gras da aplicação 222. Os certificados ajudam a estabelecerum sistema de confiança para traduções.
O usuário ou desenvolvedor podem também selecionarfontes confiadas hierárquicas. Por exemplo, com base na ori-gem do conteúdo de localização, um usuário pode determinarse confiar apenas no fabricante de SO, e se não estiver dis-ponível, então confiar nas traduções do fornecedor de soft-ware independente, e se aquelas não estiverem disponíveis,apenas então confiar na comunidade de desenvolvimento, e as-sim por diante. Em uma modalidade ilustrativa, esta hierar-quia é estabelecida por predefinição, mas um usuário sim-plesmente pode aceitar ou a anular com ajustes pessoais.Tais ajustes podem ser implementados nas regras da aplicaçãoassociadas a cada aplicação ou com uma máquina individualque opera a aplicação.
Também, deveria ser observado que o armazenamentoprivado 22 6 é similar ao armazenamento local 22 4, em que elereside no armazenamento de dados de um usuário. Porém, arma-zenamento local 224 é ilustrativamente um amplo armazenamen-to do sistema enquanto o armazenamento privado 226 é um ar-mazenamento que pode ser usado para indicar o conteúdo con-fiado de localização que corresponde a um usuário individualincluindo dados entrados pelo usuário para seu próprio usoprivado. Portanto, cada usuário individual pode identificaro conteúdo de localização confiado diferente. Aquele conteú-do é identificado para aquele usuário particular no armaze-namento privado 22 6. Isto permite um usuário individual per-sonalizar o processo de localização até mesmo também que a-quele associado a uma aplicação individual. Por exemplo, ousuário pode fazer alterações em suas próprias aplicações,quando necessário e permitido pela aplicação. 0 usuário podetambém comparti-lhar armazenamentos local ou privado de voltacom a comunidade .
Além disso, certas traduções podem ser travadas deforma que elas não sejam modificadas. Isto pode ser extrema-mente importante para evitar traduções potencialmente mali-ciosas . Por exemplo, uma das fontes de entrada poderia for-necer uma tradução maliciosa que traduziria o termo "Cliqueaqui para formatar sua unidade rigida" como "Clique aqui pa-ra continuar".
Uma vez o pareador de TM 210 obtém'uma localizaçãodesejada para a solicitação do gerenciador de recursos 206,aplica filtros 218 e regras de aplicação do armazenamento222. Filtros 218 ilustrativamente definem termos que não se-rão colocados em qualquer conteúdo de localização em qual-quer linguagem dada. Por exemplo, alguns usuários podem de-sejar filtrar termos obscenos ou qualquer outro conteúdocensurávelPortanto, os filtros 218 são aplicados antes deusar o conteúdo localizado requerido pelo gerenciador de re-cursos 206. Será observado que aplicar filtros (como tambémqualquer .outro tipo de validação) é uma etapa na localizaçãoe pode ser aplicada a muitas etapas no processo, como editar,transferir, usar, etc.
Por exemplo, validação, em geral, ocorre sempreque dois componentes trocam dados, a menos que os componen-tes confiem um no outro completamente, e o canal usado paracomunicar seja também confiado (como contra atividade sub-repticia). Portanto, por exemplo, se os recursos são trans-feridos de uma fonte confiada, e os recursos contêm uma as-sinatura válida, nenhuma outra validação (diferente da vali-dação da assinatura) necessita ser feita. Se a fonte forconfiada mas o arquivo não for assinado então o canal usadopara transportar a informação é avaliado para determinar seé também confiado. Por exemplo, um arquivo não assinado quefoi transferido da internet é mais provável de ser adultera-do que um arquivo não assinado que um usuário copiou de ou-tra pasta no mesmo computador. Dependendo de vários fatoresisto pode decidir empreender uma validação funcional rápida,ou alguma validação de conteúdo adicional pode ser conduzida,como verificação de palavras de ofensiva ou para assegurartermos no recurso original estão presentes no recurso alvo(por exemplo, assim "menu" não é traduzido como "pasta").
Componente de instalação/configuração da aplicação24 0 é usado durante a instalação e configuração pós-instalação- Durante a instalação, a aplicação 202 registraseus recursos com armazenamento local de recurso 224. Compo-nente 240 ilustrativamente expõe uma interface do usuárioque permite o usuário localizar a aplicação em um idioma de destino suportado pela plataforma se já não localizado. Ainterface do usuário pode permitir o usuário selecionar oidioma de destino explicitamente. Componente de localizaçãosob-demanda 241 passa estas solicitações para o gerenciadorde recursos 206 e também possivelmente para o pareador de TM 210.
Aplicação de legado 242 representa as aplicaçõesque foram desenvolvidas e não estão cientes da plataforma200. Camada de compatibilidade 24 3 suporta as interfaces derecurso existentes usadas para a aplicação 2 42, e redirecio-
na as chamadas para o gerenciador de recursos 20 6.
FIG. 3 é um fluxograma que ilustra a operação daplataforma 200 em maior detalhe, de acordo com uma modalida-de da presente invenção. Durante o tempo de operação, um u-suário primeiro seleciona ou lança uma aplicação 202. Isto é
indicado através do bloco 300 na FIG. 3. Em seguida, nestamodalidade, o gerenciador de recursos 206 carrega os recur-sos necessários associados à aplicação 202 para a memóriacache 2 07 (ou em outro, dispositivo de armazenamento todosdestes serão referidos aqui como "cache", neste contexto).
Isto é indicado através do bloco 302.
No segundo plano, o sistema operacional (e em par-ticular a plataforma de localização 200) começa a traduziros recursos .em cache 207 para a linguagem desejada. Assimfazendo, a plataforma 200 implementa as regras da aplicação222 associadas à aplicação 202, e o modelo de confiança (is-to é, as fontes de localização confiadas) associado à apli-cação 202 ou ao usuário (seja qual for que se aplica) . O ge- renciador de recurso 206 invoca o pareador de TM 210 para osrecursos armazenados em cache 207 para obter seu valor loca-lizado . Localização dos recursos carregados em cache 207, nosegundo plano, é indicada pelo bloco 304, na FIG. 3.
Deve também ser observado que povoar os recursos
localizados para uma aplicação não necessita esperar até otempo de execução. Do contrário, pode ser feito durante ainstalação ou em outro momento. Além disso, algumas partesda localização podem ser operadas em tempo de execução en-quanto outras podem ser feitas na instalação ou outro tempo.
Por exemplo, algumas das tarefas computacionalmente mais ca-ras ou duradouras podem ser executadas no segundo plano, du-rante a instalação ou em outro momento, enquanto as tarefasmais rápidas podem ser executadas no tempo de execução. Emainda outra modalidade, as tarefas podem ser designadas (pe-
lo usuário) ser executadas em qualquer tempo especifico e noestado daquelas tarefas podem ser exibidas também.
Como os recursos são localizados no segundo plano,não só os valores localizados são armazenados em cache 207,mas eles são também colocados em armazenamento local 224.
Portanto, da próxima vez que a aplicação 2 02 for lançada, oprocesso de localização será muito mais rápido, porque todosaqueles valores de recurso que já foram localizados já serãolocalizados no armazenamento local 224. Desse modo, o parea-dor de TM 210 não necessita pesquisar o serviço de dados deTM 214 ou têm os valores traduzidos usando o sistema de tra-dução computadorizada 216, porque as localizações serão lem-bradas pelo sistema. Do contrário, elas simplesmente podemser recuperadas do armazenamento local 224. Armazenamentodas traduções no armazenamento local 224 é indicado atravésdo bloco 306 na FIG. 3. Também, em demanda, traduções intei-ras podem ser carregadas para o armazenamento local 224 u-sando o gerenciador de transferência 212.
Claro que, o sistema presente pode também verifi-car por atualizações. Por exemplo, uma tradução não-idealpoderia ser selecionada inicialmente porque nenhuma melhorpode ser localizada. Porém, então uma tradução melhor pode-ria ser carregada em uma das memórias por uma das fontes 204.O recurso pode depois ser periodicamente atualizado para a-daptar-se a isto.
Similarmente, atualizações de código poderiam tor-nar os recursos previamente localizados inválidos. Portanto,em uma modalidade, alterações de código desencadeiam re-localização de alguns ou todos dos recursos.
À medida que as traduções de recurso são feitas,máquina de esquema 208 identifica certas traduções que re-quererão modificações para o esquema da exibição para a a-plicação. Além disso, as fontes usadas no idioma de origemsão mapeadas na aplicação para as fontes no idioma de desti-no. Isto pode ser feito através da máquina de esquema 208 ououtros componentes no tempo de execução ou em um momento an-terior. Mapeamento de esquema e de fonte é indicado atravésdo bloco 308 na FIG. 3.
Desse modo, plataforma de localização 200 no sis-tema operacional continua localizando os recursos associadoà aplicação 202 e armazenados em cache 207. Porém, pode a-contecer que a aplicação faça uma solicitação por um recursoque ainda não foi localizado no segundo plano. Uma tal soli-citação é indicada através do bloco 310 na FIG. 3. Gerencia-dor de recurso 206 determina primeiro se o recurso requeridojá foi localizado e armazenado em cache 207. Isto é indicadoatravés do bloco 312 na FIG. 3. Nesse caso, a localização dorecurso requerido simplesmente é retornada da memória cache207 para a aplicação 202. Isto é indicado através do bloco 314
Porém, se o recurso ainda não foi localizado nosegundo plano e foi armazenado em cache 207, então o geren-ciador de recursos 206 solicita a localização do recurso dopareador de TM 210. O pareador de TM 210 depois solicita alocalização do recurso das várias fontes, às quais tem aces-so, e retorna a localização do recurso requerido. Invocar opareador de TM 210 é indicado através do bloco 316 na FIG. 3A operação do pareador de TM 210 é descrita em mais detalhecom respeito à FIG. 4.
Localizando .os recursos em cache 207 no segundoplano, a plataforma de localização 200 diverge significati-vamente dos sistemas anteriores. Sistemas anteriores carre-gam o cache com os recursos. Porém, isto leva a desvantagenssignificativas na localização. Se a plataforma de localiza-ção espera pela aplicação para requerer um recurso para lo-calizá-lo, rapidamente invocando MT, isto provavelmente re-sulta em uma demora indesejável na operação da aplicação 202ou os resultados serão limitados pelo conjunto de algoritmosque podem ser usados em um tal ambiente restrito (requeri-mentos de desempenho podem limitar a precisão). Tecnologiade tradução computadorizada atual requer aproximadamentemeio segundo para traduzir uma oração. Embora tradução rápi-da e outra localização sejam- contempladas certamente pela.presente invenção, traduzir todos dos recursos rapidamente,usando o sistema de tradução computadorizada 216, provavel-mente resulta em uma demora imprópria na operação da aplica-ção . Claro que, se um número substancial dos recursos tives-se sido localizado antes e fossem armazenados no armazena-mento local 224 ou armazenamento privado 226, ou se elesfossem armazenados na memória de tradução 234, e apenas umaporção relativamente pequena dos recursos necessários fossetraduzida pelo sistema de MT 216, então a localização de ca-che 207 no segundo plano, não é tão importante para evitarcomprometer a operação da aplicação 202.
Em todo caso, o pareador de TM 210 continua loca-lizando os valores em cache 207, ou no segundo plano, e/ourápido. O pareador de TM 210 continua até que todos os re-cursos sejam localizados.
Em geral, o pareador de TM 210 pode trabalhar con-tra um ou mais armazenamentos de dados. Ele pode opcional-mente integrar com outras máquinas de reciclagem (como pare-ador es de TM ou sistemas de MT). Ele pode opcionalmente ti-rar proveito das terminologias juntamente com suas traduçõese relações (ontologias) . Ele pode usar metadados para deci-dir que pedaços de dados nos armazenamentos são supostosconstituir para o espaço de pesquisa (como área de domínio,autor, estado de aprovação ou outros metadados). Ele podeolhar para restrições (regras/filtros da aplicação) na pró-pria cadeia e tirar vantagem daquelas para produzir um pare-amento melhor ou um pareamento que será mais facilmente va-lidado. Claro que, estas características são todas opcionais,e mais pode ser adicionadas ou estas podem ser alteradas oudeletadas da operação do pareador de TM, conforme desejado.
FIG. 4 é um fluxograma que ilustra uma modalidadeda operação do pareador de TM 210 em mais detalhe, para finsexemplares apenas. O gerenciador de recurso 20 6 primeiroprove ao pareador de TM 210 uma solicitação para localização.Isto é indicado através do bloco 350 na FIG. 4. O pareadorde TM 210 depois obtém informação de modelo de confiança pa-ra o contexto atual. Em uma modalidade, a informação de mo-delo de confiança é armazenada com os dados em si, mas podetambém ser armazenada no armazenamento privado 22 6 ou emqualquer, outra fonte que identifica qualquer outro item decontexto sob o qual as fontes de localização confiadas sãopara ser determinadas dado o contexto presente. A informaçãode modelo de confiança pode incluir uma indicação da quaisfontes são confiadas, ou uma lista de requerimentos que de-vem ser satisfeitos para um item localizado ser válido econsiderado. Isto ajuda nos cenários de atualização também.Atualizações no código podem alterar o conjunto de restri-ções que aqueles recursos têm que satisfazer. Aquelas alte-rações requererão re-validação dos recursos válidos previa-mente assumidos. Isto é indicado através do bloco 352 na FIG. 4.`
0 pareador de TM 210 depois ilustrativãmente re-quer localizações do recurso de todas as fontes de localiza-ção confiadas, mas assim fazê-lo em uma ordem dada. A ordeme o número de fontes verificados ilustrativãmente variam de-pendendo das circunstâncias (como se a localização está a-contecendo no tempo de execução, tempo de instalação, emprocessamento em lote, etc.). Isto é indicado através dobloco 354. Em outras palavras, em uma modalidade, o pareadorde TM 210 nem sequer solicita uma tradução das fontes não-confiadas. Naquela circunstância, assume que o usuário nãoquer confiar nas traduções da comunidade como um todo ou dacomunidade de desenvolvimento nas fontes de entrada 204. Opareador de TM 210 apenas pedirá o conteúdo de localizaçãoque originou das fontes confiadas, e assim excluirá todo doconteúdo de localização fornecido pela comunidade como umtodo e comunidade de desenvolvimento. Claro que, o pareadorde TM 210 modificará as fontes das quais os resultados dalocalização são requeridos com base nas fontes confiadas da-do o contexto presente.
Em resposta à solicitação do pareador de TM 210,as várias fontes que foram requeridas para o conteúdo de lo-calização retornam suas contagens de confidencia associadas.Por exemplo, é muito comum os resultados da tradução teremum nível de confiança associado indicativo de quão provávelé que a tradução esteja correta dada a entrada no idioma deorigem. Não é importante para os propósitos da presente in-venção que medida particular é usada para indicar a confian-ça associada a uma tradução ou ,outra localização. Na modali-dade ilustrativa, as contagens de todas as fontes ou usam amesma medida, ou medidas que são correlatadas entre si, deforma que o pareador de TM 210 pode determinar a magnituderelativa das contagens - Retornar as contagens de confiançaassociadas às traduções (ou conteúdo de localização) é indi-cado através do bloco 356 na FIG. 4.
O pareador de TM 210 depois obtém o conteúdo loca-lizado (por exemplo, a tradução) da fonte confiada de conta-gem mais alta. Isto é indicado através do bloco 358. Também,o pareador de TM 210 pode selecionar o conteúdo localizadocom base em outros critérios ou adicionais também, como otempo requerido para obter o conteúdo localizado, quandoperto o conteúdo localizado está do mercado alvo, critériosde validação ou outros critérios ou qualquer combinação decritérios. Além disso, o pareador de TM pode recuperar con-teúdo de localização de múltiplas fontes e as combinar.
Uma vez a tradução é recebida, o pareador de TM210 aplica os filtros 218 e outra validação para assegurarque o conteúdo de localização (ou tradução) seja apropriadodados a aplicação e o contexto e qualquer filtro ou crité-rios de validação desejados pelo usuário. Aplicar os filtrose outra validação é indicado através do bloco 360 na FIG. 4.0 pareador de TM 210 também ilustrativamente aplica as re-gras da aplicação de modo que o conteúdo de localização re-cuperado para o recurso dado não inibirá -a operação da apli-cação ou causará operação imprópria ou do contrário falharáa aplicação. Deve também ser observado que algum do processode filtração e validação pode ser pré-computado, ao invés deaguardar executar todas as etapas necessárias neste momentono processo.
Uma vez isto. é feito, o pareador de TM 210 retornao resultado para o gerenciador de recursos 206. Isto é indi-cado através do bloco 362. Será apreciado que este processoserá executado a qualquer momento que o pareador de TM 210for invocado através do gerenciador de recursos 20 6. Dessemodo, o processo será executado quando os recursos em cache207 estiverem sendo localizados no segundo plano, e será e-xecutado quando uma aplicação 202 fizer uma chamada por umrecurso não, ainda, localizado.
Em qualquer caso, o pareador de TM 210 pode desco-brir que não há nenhuma tradução disponível na linguagem de-sejada ou as contagens de confiança retornadas estão abaixode um limiar dado, mas que uma tradução deve ser empreendidausando o sistema de tradução computadorizada 216. Naqueleponto, em uma modalidade, o gerenciador de recursos 206 énotificado, e pode requerer que o pareador de TM 210 procureuma tradução em uma linguagem de recuperação de dados. Porexemplo, se o idioma de destino for catalão, a aplicação 202pode requerer tradução de um recurso, mas um pode não estardisponível em catalão. Porém, o gerenciador de recursos 206pode ser configurado de modo que espanhol seja uma primeiralinguagem de recuperação de dados a catalão. Naquele caso, opareador de TM 210 retorna para o gerenciador de recursos206 indicando que nenhuma tradução está disponível em cata-`lão e que o sistema de tradução computadorizada 216 deve serinvocado para obter uma tal tradução (alternativamente, osistema de MT 216 pode ser chamado na primeira chamada pelopareador de TM 210). O gerenciador de recursos 206 pode, emvez de assumir a penalidade de desempenho associada à tradu-ção computadorizada rápida, simplesmente solicitar ao parea-dor de TM 210 para retornar uma tradução do recurso requeri-do em espanhol. Se um estiver disponível, ele é retornadopelo pareador de TM 210.
Claro que, como indicado acima, os lo-cais/linguagens de recuperação de dados podem ser cascatea-dos hierarquicamente em qualquer grau desejado de modo quevários locais são recuperações de dados para vários outroslocais, a última recuperação de dados deste pode ser o idio-ma de origem. Desse modo, se a última recuperação de dadosfor alcançada, em vez de fornecer uma tradução do recursorequerido, o gerenciador de recursos 206 simplesmente retor-na para a aplicação 202 o recurso requerido em uma últimarecuperação de dados que é assegurado pela plataforma assima aplicação não falhará ou perderá um ponto de interação como usuário por causa da plataforma.
O usuário pode também ilustrativamente ajustar co-mo a hierarquia de recuperação de dados trabalha. Por exem-plo, o usuário pode indicar que exibindo um grupo de recur-sos junto (por exemplo, um diálogo com várias cadeias) podemostrar partes do diálogo em uma linguagem (ou localizadopara um mercado) e partes em outro (por exemplo, nâ recupe-ração de dados). Outros usuários podem indicar que o grupoexibido de recursos é para estar todo em uma linguagem (oulocalizado para o mesmo mercado).
Será também observado que o usuário não necessitalançar a aplicação para tê-la traduzida através da platafor-ma 200. O usuário pode simplesmente selecionar uma aplicação ou outro componente de software para localização, e plata-forma 200 pode localizá-la no segundo plano. Por exemplo, emuma modalidade, o usuário clica com o botão direito em umaaplicação e, de um menu, seleciona "Localizar". Plataforma200 depois começa a localizar a aplicação no segundo plano, armazenando o conteúdo localizado no armazenamento local.Conteúdo pode também estar localizado no segundo plano. Emuma modalidade o usuário clica com o botão direito em um do-cumento que está armazenado no sistema de arquivo ou em umservidor e seleciona "Localizar". A plataforma de localiza- ção localizará o documento no segundo plano. O mesmo se a-plica aos documentos que são transferidos da internet.
Além disso, quando uma aplicação é instalada (oumais tarde) o usuário pode selecionar uma pluralidade delinguagens diferentes para instalação. Estas linguagens são depois carregadas para o armazenamento de dados local 224.As traduções podem ser armazenadas no disco a laser do pro-duto, ou outro meio.
FIG. 5 é um diagrama de blocos que ilustra os com-ponentes da plataforma. 200 no contexto de desenvolvimento. Um número grande de itens é similar àqueles mostrados na FIG.2 e é similarmente numerado.
FIG. 5 mostra a plataforma de assistência 380 e ocomponente de desenvolvimento 382. Componente de desenvolvi-mento 382 pode ser qualquer componente de desenvolvimentodesejável como Visual Studio disponível da Microsoft Corpo-ration de Redmond, Washington, ou qualquer outro componentede desenvolvimento desejado para software de autoração. Pla-taforma de assistência 380 ajuda na autoração do conteúdointeragindo com um ou mais componentes de plataforma 200,como a plataforma de tradução 381 para permitir o desenvol-vedor desenvolver um produto que tem uma taxa de reciclagemalta, e desse modo um custo grandemente reduzido para loca-lização em linguagens diferentes. Tanto o componente de de-senvolvimento" 382 como a plataforma de assistência 380 con-somem serviços fornecidos pela plataforma 2 00. Assim fazendo,o componente de desenvolvimento 382 e a plataforma de assis-tência 380 juntos com os outros componentes embutem certaspráticas no processo de desenvolvimento de extremidade fron-tal /autoração que provavelmente intensificará grandemente ahabilidade do produto ser localizado para entrar em váriosmercados diferentes e desse modo para aumentar grandemente oretorno no investimento de desenvolvimento.
Componente de construção 384 usa a informação for-necida pela plataforma de localização e/ou plataforma de as-sistência 380 ou qualquer outra ferramenta de autoração. deconteúdo que possa acessar a plataforma de localização atra-vés das APIs e das regras de aplicação no armazenamento dedados 222 e constrói aplicação 202 como também documentos deconteúdo.
Também será observado que o debate presente da FIG. prossegue em geral com respeito ao desenvolvedor que de-senvolve uma aplicação ou um conteúdo de autoração de autor.Porém, o sistema pode ser usado para uma variedade de coisasindependente do tipo de conteúdo ou software que o desenvol-vedor está desenvolvendo ou o autor está autorando.
De acordo com uma modalidade da presente invenção,há dois modos para desenvolvedor ou autor respectivamenteusarem o componente de desenvolvimento 382 para desenvolversoftware ou plataforma de assistência 380 para desenvolverconteúdo. O primeiro é usar uma característica em seu ambi-ente de autoração/desenvolvimento que, através de uma inter-face de programas de aplicação (API) da plataforma ou outromecanismo similar determina se qualquer conteúdo ou softwaresimilar já foi desenvolvido, e é armazenado em quaisquer dasmemórias na plataforma 2 00. O segundo modo é para o desen-volvedor simplesmente desenvolver o software ou conteúdo (o-riginal ou não) No caso anterior, a plataforma 200 simples-mente atua para fornecer ao desenvolvedor realimentaçãoquanto à taxa de reciclo (por exemplo, a quantidade de con-teúdo/software qué pode ser traduzido em linguagens diferen-tes na plataforma 200 dadas as traduções anteriores) do con-teúdo/software e sugerir práticas que provavelmente aumenta-rão a taxa de reciclo e também sugerir práticas que inibirãoa aplicação de funcionar mau após a localização.
De acordo com a primeira modalidade, o autor doconteúdo fornece uma entrada através da plataforma de assis-tência 380, e a plataforma de assistência 380 chama uma APIou outro mecanismo similar para autorar um recurso. Isto éindicado através do bloco 500 na FIG. 6. Plataforma de as-sistência 380 depois invoca o pareador de TM 210 para aces-sar o armazenamento local 224 e retorna todos os tipos derecursos que já têm traduções. Isto é indicado através dobloco 502 na FIG. 6. Por exemplo, a plataforma de desenvol- vedor pode invocar uma API que indica que o desenvolvedor doconteúdo quer autorar um recurso. Em resposta, a plataforma380 retorna uma indicação de todas das classes diferentes derecursos que estão contidas na plataforma 200 e que já têmtraduções em uma variedade de linguagens diferentes. Assume-
se, por exemplo, que o resultado da plataforma e apresentadoao usuário pela plataforma de desenvolvedor sejam as classes"menus" e "mensagens de erro".
Através da funcionalidade exposta na API, o desen-volvedor pode selecionar as classes de "mensagem de erro" e
a plataforma de assistência 380 solicitar esta informação deplataforma 2 00 (ela pode ser armazenada em qualquer memória)depois retorna todas das classes diferentes de mensagens deerro que estão contidas na plataforma 200. O desenvolvedordepois seleciona uma das. classes de mensagens de erro, e a
plataforma 380 retorna todas das mensagens de erro especifi-cas associadas àquela classe. O usuário pode depois simples-mente selecionar uma das mensagens de erro que já foram au-toradas e para aquela localização já será altamente eficien-te (por exemplo, porque já foi traduzida em uma variedade de
linguagens diferentes ou do contrário foi localizada). O de-senvolvedor selecionando o tipo, classe e recurso especifico,se disponível, é indicado através do bloco 504 na FIG. 6.
Também será apreciado, claro, que a mensagem espe-cifica, mensagem exata que o desenvolvedor quer autor j á po-de não estar disponível. Naquele caso, o usuário pode sele-cionar uma mensagem muito próxima e modificá-la. A mensagemmodificada provavelmente, em muitos casos, será capaz de serlocalizada bastante eficazmente, porque a maior parte destajá estava em existência na plataforma de localização 200. Emtodo caso, selecionar uma mensagem similar, não idêntica re-sultará em uma penalidade de confiança. Modificar um recursoescolhido é indicado através do. bloco 506 na FIG. 6.
Este tipo de reciclo prove ao autor um grau altode flexibilidade com relação a um localizador da técnica an-terior que ocorre após o desenvolvimento. Por exemplo, o au-tor pode alterar o número de localizáveis em uma cadeia desoftware, enquanto um localizador tradicional é mais restri-to . Também, o autor pode completamente substituir uma oraçãode fonte (assumindo que os termos fundamentais são mantidos)enquanto um localizador tradicional pode não ser capaz. Con-sidere a oração para uma mensagem de erro: "arquivo {0} nãoexiste", O autor pode alterar esta para "arquivo {0} na uni-dade {1} não pôde ser encontrado"., enquanto que um locali-zador convencional não pode usar a tradução da primeira ora-ção como uma tradução para a segunda porque, sem acesso aocódigo, o localizador convencional não pode alterar as supo-sições subjacentes no código com relação ao número de loca-lizáveis. A reciclagem não só pode ser feita com respeito aotexto encontrado nas mensagens, mas pode também ser feitacom respeito aos elementos de IU comuns no armazenamento dedados 23 6. Reusar os elementos de IU anteriores também in-`tensifica a taxa de reciclo e a localização do produto.
Durante o desenvolvimento, o desenvolvedor podetambém querer fornecer armazenamento de ontologia-para-ontologia 232. Ontologia é uma especificação de um conceptu-alização e descreve as relações entre os termos que permitemcodificação de semântica do conteúdo e cadeias. Uma modali-dade de uma ontologia é exposta na patente U. S. No. - 253.17 0 e 6.098.033. Outra descrição de ontologia está ex-posta em Gruber, A TRANSLATION APPROACH TO PORTABLEONTOLOGIES, Knowledge Acquisition, 5(2):199-220 (1993).
Em geral, as palavras são traduzidas diferentemen-te dependendo do contexto. Especificamente, palavras ou ter-mos podem ser traduzidos diferentemente dependendo do con-texto de aplicação na localização do software. A plataformade localização 200 tem acesso aos dados de semântica na for-ma de dados de armazenamento de ontologia 282 que descrevema. relação entre os termos. Ontologias podem ser geradas ma-nualmente entrando a informação de semântica junto com a pa-lavra ou termo ou automaticamente aplicando algoritmos quepodem determinar o contexto de semântica pela proximidade deumas palavras ou termo a outras palavras ou termos. O arma-zenamento de dados 282 é ilustrativamente povoado por estru-turas e contexto de aplicação derivados do formato de recur-so. O tipo de codificação de semântica no armazenamento deontologia 282 permite a plataforma 200 desambiguar a semân-tica para os recursos a serem traduzidos, ao mesmo tempotambém fornecendo capacidades de pesquisa poderosas, porquepermite desambiguação de consulta também. Plataforma de tra-dução 381 determina se a desambiguação é requerida no bloco508 na FIG. 6. Nesse caso, armazenamento de ontologia 232pode ser acessado para obter desambiguação da informação desemântica, ou a plataforma de assistência 380 pode requererdesambiguar a informação de semântica do autor, do mesmo mo-do o componente de desenvolvimento 382 pode fazer o mesmopara o desenvolvedor. Isto é indicado através do bloco 510na FIG. 6.
do o produto, cada um dos recursos autorados são submetidosa uma estimativa de taxa de localização pela plataforma detradução 381 na plataforma 200. Na estimativa da taxa de lo-calização dos recursos autorados, a plataforma de tradução381 identifica as porcentagens daqueles recursos que já fo-ram traduzidos (ou do contrário localizados) .e que residemem algum lugar na plataforma 200. Plataforma de tradução 381também conta com requerimento para. submeter os recursos àtradução computadorizada através do sistema 216, e tambémleva em conta as contagens de confiança associadas a cadauma das traduções que residem na plataforma 200. Estes itenssão combinados para fornecer uma taxa de reciclo que é umamedida de quão fácil o produto sendo autorado será localiza-do nos mercados que operam sob linguagens diferentes. Forne-cer a taxa de reciclo geral, operante é indicada através dobloco 512 na FIG. 6.
da em uma ampla variedade de modos diferentes. Por exemplo,se o desenvolvedor for apenas desenvolver um componente de
À medida que
o desenvolvedor continua desenvolven-
Será observado que
a taxa de reciclo pode ser usa -um sistema inteiro, o componente pode ser requerido para sa-tisfazer um certo limiar de taxa de reciclo antes de serpermitido ser registrado. Similarmente, a taxa de reciclopode bem ser indicativa do valor do produto dado como prova-velmente é que o produto será introduzido em outros mercados.Claro que, esta taxa de reciclo pode ser usada em uma amplavariedade de outros modos também.
Deve também ser observado que o sistema pode cal-cular a taxa de reciclo para o código que não é desenvolvidona plataforma. O código simplesmente pode ser fornecido naplataforma 200 e o pareador de TM 210 pode calcular a taxade reciclo para o código, como um todo, e retornar, conformedesejado. Isto pode ser usado na decisão se estender um pro-duto para mercados novos ou até mesmo se comprar direitos noproduto.
O debate agora prossegue com respeito à modalidadeem que o desenvolvedor não está selecionando recursos já e-xistentes. Assumindo que o desenvolvedor não quer selecionarde recursos pré-autorados, o desenvolvedor pode autorar re-cursos ou conteúdo originais. Isto é indicado através dobloco 514 na FIG. 6. Naquele caso, o desenvolvedor simples-mente autora uma porção do conteúdo e a plataforma de assis-tência 380 chama o pareador de TM 210 para determinar umataxa de reciclo para o conteúdo autorado. Isto é indicadoatravés do bloco 516 na FIG. 6. O pareador de TM 210 depoisacessa suas fontes de localização e retorna uma taxa de re-ciclo para o recurso ou conteúdo recentemente autorado. Istoé indicado através do bloco 518 na FIG. 6.Neste momento, a plataforma 200 pode também serusada para notificar o autor sobre as práticas que podem a-judar o autor a melhorar a taxa de reciclo do produto sobdesenvolvimento, ou alertar o autor em certas práticas quepodem levar a aplicação a mau funcionamento uma vez é loca-lizada. Retornar estas sugestões é indicado através do bloco520 na FIG. 6. Em uma modalidade, estes sugestões são forne-cidas até mesmo se a fonte do produto estiver sendo re-usada.O fato que está sendo re-usada pode, claro, significar quealgumas das verificações já foram executadas. Alguns exemplos de práticas que poderiam afetar ataxa de reciclo ou função de aplicação incluem, por exemplo,escrever cadeias longas. Cadeias longas não são apenas maisdificeis de entender, elas são também mais difíceis de tra-duzir. Além disso software apresenta o risco de um armazena-mento temporário correr mais depressa que interromperia aaplicação. Outras práticas que podem afetar a taxa de reci-clo ou função de aplicação incluem o uso de caracteres espe-ciais ou o uso de gramática imprópria, ou informal. Usandoconstruções de gramática apropriadas leva a um grande aumen-to na habilidade para traduzir o texto. 0 pareador de TM 210desse modo fornece uma realimentação de tempo real sobre ataxa de reciclo do código e pontas de prática.
Também, a plataforma 200 pode entrar certas açõespara reduzir um efeito negativo destas . áreas de problema noconteúdo sob análise. Estas ações reduzirão a probabilidadeque uma aplicação falhará após sofrer a localização. A pla-taforma 200 pode alertar o usuário que estas ações correti-vas ocorrerão.
Vários outros itens deveriam ser observados comrespeito à presente invenção. Primeiro, ilustrativãmentefornece automatização de atalho. A plataforma de tradução381 ilustrativamente rastreia os atalhos que são exibidos emqualquer IU dada para evitar duas funções sendo atribuídasao mesmo atalho em uma IU dada. A plataforma de tradução 381pode ser invocada para selecionar um atalho automaticamente,ou pode ser simplesmente invocada para verificar para asse-gurar que nenhuma duplicação de atalho seja empreendida emuma IU dada. Para ser capaz de selecionar ou sugerir um ata-lho ao usuário a plataforma precisa de informação conside-rando quais itens estão disponíveis ao usuário simultanea-mente assim pode evitar repetições. Aquela informação estáestritamente relacionada a uma necessária para transmitir ainformação no computador do usuário.
A presente invenção pode também fornecer validaçãoe simulação de um ambiente de tempo de execução. Uma vez odesenvolvedor tenha autorado o componente, o desenvolvedorpode invocar uma API na plataforma de desenvolvimento 382 ea plataforma 200 simulará um ambiente de tempo de execuçãosob o qual a localização é requerida. A simulação de tempode execução permite o desenvolvedor fisicamente ver a exibi-ção na tela de exibição, após ter sido localizada. Isto per-mite o desenvolvedor escanear bichos, medir a atração esté-tica das exibições e fazer alterações, conforme desejado.A presente invenção desse modo intensifica a habi-lidade de um desenvolvedor para reusar o conteúdo já desen-volvido. Isto significativamente intensifica a taxa de reci-clo e a localização do produto.
Também, a presente invenção fornece um sistema queinteligentemente combina o conteúdo localizado do sistema operacional, aplicações, a comunidade e terceiros, e da tra-dução computadorizada. 0 gerenciador de recursos carrega re-cursos de .uma aplicação retornando os recursos requeridos deacordo com a linguagem necessária ou outros critérios cultu-rais ou comerciais de uma variedade de fontes ou armazena-
mentos de dados (também referidos como componentes de conte-údo de localização).
Além disso, a plataforma de localização pode serusada para fornecer dados localizados em. uma ampla variedadede entidades requerentes, como aplicações, navegadores, uti-
litários de pesquisa, carregadores de recurso, ferramentasde autoração, etc.
Também, permitindo a comunidade e a comunidade co-mo um todo sugerir alternativas de localização, a presenteinvenção permite a localização padrão da comunidade ser de-
finida, e, às vezes, permite a localização em alguns merca-dos muito pequenos. Para circunstâncias, a presente invençãopermite um usuário localizar uma aplicaçãov de linguagem in-glesa para Swahili. O usuário pode fornecer esta localizaçãode volta à plataforma.200 como uma tradução sugerida dos vá-
rios recursos na aplicação. Outros usuários sul africanospodem selecionar confiar este conteúdo localizado e transfe-ri-lo em Swahili, ou localizá-lo em si ou modificar a loca-lização e fornecer sua própria localização de volta à plata-forma 200. Desse modo, a aplicação pode ser localizada e re-`visada e feita disponível em um mercado onde poderia do con-trário não estar devido ao tamanho de mercado pequeno.
Em uma modalidade, quando uma fonte de entrada 2045 fornecer dados, o componente de aj untamento de dados 205também registra os metadados, como origem, uso, informaçãode contexto (como versão de recurso), nível de confiança,atributos, sugestões de tradução computadorizada, etc. Ou-tros dados podem ser colhidos e classificados também. Também,
10 em uma modalidade, apenas a fonte de entrada 204 que forne-ceu os dados pode alterar aqueles dados.
A presente invenção não só prove transferir tradu-ções de uma comunidade, mas as enviar também. Além disso,cadeias de fonte podem ser enviadas/recebidas de uma maneira
15 similar.
Também é observado que companhias de terceiros ecomunidades podem acrescentar novas fonte e memórias de tra-dução à plataforma 200. Em uma modalidade ilustrativa, aplataforma 200 fornece uma página de rede ou serviço de rede
20 que permitem a adição de um termo de fonte nova e seus meta-dados. Os usuários ilustrativamente serão autenticados deforma que a plataforma 200 pode determinar a fonte de cadaitem recentemente adicionado.
Além disso, a plataforma 200 ilustrativamente tra-
25 balha de acordo com um esquema publicado (como um esquema emXML) que permite os usuários transferir várias cadeias deuma so vez. Novamente, a fonte de cada cadeia é conhecidauma vez que toda operação pode requerer autenticação. Taiscadeias de fonte podem ilustrativamente ser adicionadas comuma ou mais traduções. A plataforma 200 opera similarmentecom respeito aos termos nas bases de dados de termos.
Também, de acordo com uma modalidade, as comunida-des podem fornecer traduções às cadeias de fonte na plata-`forma 200. Ao editar as traduções, os metadados presentes nafonte são ilustrativamente disponiveis para "o tradutor" eos metadados são forçados a aceitar a tradução. Isto podeser feito em uma interface de rede simples. Estas traduçõespodem ser usadas por outras pessoas, se o usuário selecionarcompartilhar suas traduções com a comunidade.
A presente invenção também ilustrativamente permi-te a comunidade revisar as traduções que já existem na pla-taforma 200. Isto permite uma fonte de traduções determinarquantas vezes suas traduções foram escolhidas por outros u-suários. Isto permitirá entrar fontes na comunidade paraconstruir um nome para elas com base na qualidade do traba-lho, e isto leva as fontes de entrada fazerem um trabalhomelhor para se tornarem mais avaliadas na comunidade.
De acordo com ainda outra modalidade da presenteinvenção, quando um desenvolvedor transferir uma aplicaçãopara tradução, ao desenvolvedor é fornecida uma oportunidadepara permitir os usuários finais transferirem sua própriaversão localizada do produto. Se aquela opção for permitida,o usuário pode registrar-se na plataforma 200 e escolher quelinguagem, máquinas e traduções usar para gerar uma versãopessoal do produto.
Por exemplo, o usuário pode perguntar pela versão"xyz" de um produto enquanto especificando apenas pareamen-tos exatos de máquinas de pareamento de máquinas de traduçãousando as memórias de tradução que a comunidade (ou um usuá-rio especifico) aprovou. Este processo pode ser periodica-mente repetido para obter uma porcentagem mais alta de tra-dução de recurso. Plataforma 200 pode também prove notifica-ções aos usuários por meio de correio ou outros serviços dealerta quando traduções novas estiverem disponíveis.
De acord o com outra modalidade, um terceiro podeadicionar uma máquina de verificação de fonte nova (ou tra-dução) à plataforma 200. Como debatido acima, um desenvolve-dor pode submeter uma aplicação à plataforma 200 para deter-minar se uma aplicação é altamente localizável. Terceirospodem escrever novas máquinas para suportar isto. Quando umterceiro desenvolve uma máquina que satisfaz os critériospara executar a verificação de fonte (por exemplo, quandoimplementa uma interface desejada), então o terceiro podetransferi-la para plataforma 200 e carregar de volta para osusuários transferirem a máquina. Quanto às outras partes dosprocessos descritos com respeito à presente invenção, assi-natura e autenticação são ilustrativamente usadas para ga-rantir que a fonte da máquina seja conhecida e o usuário terdecidido confiar naquela fonte.
Máquinas de tradução podem ser adicionados em ummodo similar, mas pode ilustrativamente operar na plataformade implementação do servidor 200 com etapas tomadas para as-segurar que a máquina de tradução já não corrompe os dadosde tradução existentes. Além disso, a presente invenção exe-cuta globalização e verificações lingüísticas para ajudar osautores. A presente invenção também permite a comunidade a-judar um autor. Por exemplo, a comunidade pode ser requeridauma cadeia de fonte em uma caixa de diálogo em um certo do-mínio onde a cadeia de fonte pode ser facilmente localizada.Isto ajuda o autor no inicio em autorar o conteúdo altamentelocalizável.
Deve também ser observado que, embora certas fun-ções se j am atribuídas a certos componentes na modalidadedescrita, aquelas não necessitam ser o caso. As funções po-deriam ser executadas através de componentes diferentes eassim alguns componentes poderiam ser deletados, modificadosou adicionados, tudo dentro do escopo da presente invenção.
Pode desse modo ser visto que a presente invençãoconsolida dados para localização de localizações passadas deuma ampla variedade de produtos e uma ampla variedade defontes de entrada. Em vez de cada aplicação ou produto tersua própria memória de traduções, que não são acessíveis a-través de outros produtos, a plataforma 200 torna esta in-formação disponível, conforme desejado pelo desenvolvedor ouusuário, para localização subseqüente de produtos diferentes -Isto também altera o processo de localização de modo que osusuários finais têm acesso a um grau de opções mais amplopara personalizar (localizar) sua experiência de computador.Também permite a participação da comunidade no processo. Co-mo uma conseqüência, a própria tarefa de localização se tor-na produto independente, apenas ligado ao produto, através docontexto de aplicação. Outras aplicações podem acessar ascadeias localizadas a qualquer momento se o modelo de confi-ança e contexto de aplicação o permitir.
Embora a presente invenção tenha sido descrita comreferência às modalidades particulares, os trabalhadoresversados na técnica reconhecerão que alterações podem serfeitas na forma e detalhe sem divergir do espirito e escopoda invenção.
Claims (18)
1. Plataforma de- localização operavelmente acopla-da a um sistema operacional, CARACTERIZADA pelo fato de quecompreende:uma pluralidade de componentes de localização quefornecem dados localizados que são localizados para um oumais mercados distintos;um armazenamento de ontologia que armazena infor-mação de ontologia; eum.componente de pareamento de tradução configura-do para receber uma solicitação de localização que corres-ponde aos dados de entrada a ser localizados, para acessar apluralidade de componentes.de localização e o armazenamentode ontologia com base na solicitação de localização, e sele-cionar e liberar os dados localizados de um ou mais da plu-ralidade de componentes de localização com base nos crité-rios predeterminados.
2. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o componente depareamento de tradução é configurado para acessar o armaze-namento de ontologia para desambiguar os dados de entrada aser localizados.
3. Plataforma de localização, de acordo com a rei-vindicação 2, CARACTERIZADA pelo fato de que o componente depareamento de tradução é configurado para receber os dadosde entrada de um componente de autoração.
4. Plataforma de localização, de acordo com a rei-vindicação 2, CARACTERIZADA pelo fato de que o componente depareamento de tradução é configurado para receber os dadosde entrada de um gerenciador de recursos que é acoplado auma aplicação.
5. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que os componentesde localização, o armazenamento de ontologia e o componentede pareamento de tradução são integrados com um sistema ope-racional .
6. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que os componentesde localização fornecem contagens de confiança associadasaos dados localizados, dados os dados de entrada e em que ocomponente de pareamento de tradução é configurado para se-lecionar os dados localizados com base nas contagens de con-fiança .
7. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que os componentesde localização compreendem:uma pluralidade de armazenamentos de dados que.ar-mazenam dados localizados para um ou mais mercados distintos.
8. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que os componentesde localização compreendem:pelo menos um sistema de tradução computadorizada.
9. Plataforma de localização, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que a plataforma delocalização é configurada para fornecer localização como umserviço para um sistema, operacional separado.
10. Método de localizar dados, CARACTERIZADO pelofato de que compreende:receber uma solicitação indicativa da informação aser localizada; acessar uma pluralidade de componentes de locali-zação que fornecem dados localizados, com base na solicita-ção;acessar um armazenamento de ontologia com base. nasolicitação; e selecionar os dados localizados de um ou mais dapluralidade de componentes de localização com base em crité-rios predeterminados.
11. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que a seleção compreende: desambiguar a informação a ser localizada com basenos dados de ontologia no armazenamento de ontologia.
12. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que a recepção compreende:receber a solicitação de um componente de autoraçãó.
13. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que a recepção compreende:receber a solicitação de um gerenciador de recur-sos que é configurado para receber a informação a ser loca-lizada com base em uma solicitação de uma aplicação.
14. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que as etapas de receber uma so-licitação, acessar uma pluralidade de componentes de locali-zação, acessar um armazenamento de ontologia e selecionardados localizados são executadas por um sistema operacional.
15. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que as etapas de receber uma so-licitação, acessar uma pluralidade de componentes de locali-zação, acessar um armazenamento de ontologia e selecionardados localizados são executadas por um serviço em respostaa uma chamada de um sistema operacional.
16. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que os componentes de localizaçãofornecem contagens de confiança associadas aos dados locali-zados, dados os dados de entrada e em que a seleção compre-ende :selecionar òs dados localizados com base nas con-tagens de confiança.
17. Método, de acordo com a reivindicação 10,CARACTERIZADO pelo fato de que os componentes de localizaçãocompreendem uma pluralidade de armazenamentos de dados quearmazenam dados localizados em um ou mais mercados distintose um componente de serviço de dados acoplado ao componentede pareamento de tradução e em que a seleção compreende:.acessar os armazenamentos de dados através do com-ponente de serviço de dados.
18. Método, de acordo com a reivindicação 17,CARACTERIZADO pelo fato de que os componentes de localizaçãocompreendem pelo menos um sistema de tradução computadoriza-da e em que a seleção compreende:acessar o pelo menos um sistema de tradução compu-tadorizada .
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US65961605P | 2005-03-08 | 2005-03-08 | |
| US60/659.616 | 2005-03-08 | ||
| US11/118.544 | 2005-04-29 | ||
| US11/118,544 US7653528B2 (en) | 2005-03-08 | 2005-04-29 | Resource authoring incorporating ontology |
| PCT/US2006/012901 WO2006132700A2 (en) | 2005-03-08 | 2006-03-08 | Resource authoring incorporating ontology |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0609159A2 true BRPI0609159A2 (pt) | 2010-02-23 |
Family
ID=36972139
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0609159-8A BRPI0609159A2 (pt) | 2005-03-08 | 2006-03-08 | ontologia de incorporação de autoração de recurso |
Country Status (12)
| Country | Link |
|---|---|
| US (1) | US7653528B2 (pt) |
| EP (1) | EP1856631A4 (pt) |
| JP (1) | JP5058966B2 (pt) |
| KR (1) | KR20070110341A (pt) |
| AU (1) | AU2006255783B2 (pt) |
| BR (1) | BRPI0609159A2 (pt) |
| CA (1) | CA2600474A1 (pt) |
| EG (1) | EG25786A (pt) |
| MX (1) | MX2007011028A (pt) |
| NO (1) | NO20074637L (pt) |
| RU (1) | RU2422890C2 (pt) |
| WO (1) | WO2006132700A2 (pt) |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10541973B2 (en) | 1998-02-23 | 2020-01-21 | Transperfect Global, Inc. | Service of cached translated content in a requested language |
| US8489980B2 (en) * | 1998-02-23 | 2013-07-16 | Transperfect Global, Inc. | Translation management system |
| US7665063B1 (en) | 2004-05-26 | 2010-02-16 | Pegasystems, Inc. | Integration of declarative rule-based processing with procedural programming |
| US8335704B2 (en) | 2005-01-28 | 2012-12-18 | Pegasystems Inc. | Methods and apparatus for work management and routing |
| 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 |
| EP2511833B1 (en) * | 2006-02-17 | 2020-02-05 | Google LLC | Encoding and adaptive, scalable accessing of distributed translation models |
| US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
| US8335679B2 (en) * | 2006-11-21 | 2012-12-18 | Lionbridge Technologies, Inc. | Methods and systems for local, computer-aided translation incorporating translator revisions to remotely-generated translation predictions |
| US8046233B2 (en) * | 2006-11-21 | 2011-10-25 | Lionbridge Technologies, Inc. | Methods and systems for local, computer-aided translation using remotely-generated translation predictions |
| US8494834B2 (en) * | 2006-11-21 | 2013-07-23 | Lionbridge Technologies, Inc. | Methods and systems for using and updating remotely-generated translation predictions during local, computer-aided translation |
| US8036859B2 (en) * | 2006-12-22 | 2011-10-11 | Merced Systems, Inc. | Disambiguation with respect to multi-grained dimension coordinates |
| US7711684B2 (en) | 2006-12-28 | 2010-05-04 | Ebay Inc. | Collaborative content evaluation |
| US8250525B2 (en) | 2007-03-02 | 2012-08-21 | Pegasystems Inc. | Proactive performance management for multi-user enterprise software systems |
| US8051075B2 (en) * | 2007-09-24 | 2011-11-01 | Merced Systems, Inc. | Temporally-aware evaluative score |
| US8725490B2 (en) * | 2007-10-18 | 2014-05-13 | Yahoo! Inc. | Virtual universal translator for a mobile device with a camera |
| US8275606B2 (en) * | 2007-10-25 | 2012-09-25 | Disney Enterprises, Inc. | System and method for localizing assets using flexible metadata |
| US8086692B2 (en) * | 2008-08-27 | 2011-12-27 | Satyam Computer Services Limited | System and method for efficient delivery in a multi-source, multi destination network |
| US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
| US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
| US8832676B2 (en) * | 2009-09-30 | 2014-09-09 | Zynga Inc. | Apparatuses, methods and systems for a social networking application updater |
| FR2959333B1 (fr) * | 2010-04-27 | 2014-05-23 | Alcatel Lucent | Procede et systeme d'adaptation d'un contenu textuel au comportement langagier d'une communaute en ligne |
| US20110289424A1 (en) * | 2010-05-21 | 2011-11-24 | Microsoft Corporation | Secure application of custom resources in multi-tier systems |
| US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
| US20130006603A1 (en) * | 2011-06-30 | 2013-01-03 | Verizon Patent And Licensing, Inc. | Graphical user interface localization systems and methods |
| US8949465B2 (en) * | 2011-08-26 | 2015-02-03 | Netflix, Inc. | Internationalization with virtual staging and versioning |
| US9244902B2 (en) | 2011-10-20 | 2016-01-26 | Zynga, Inc. | Localization framework for dynamic text |
| US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
| US20130290926A1 (en) * | 2012-04-30 | 2013-10-31 | Rheti Inc. | Semantic code binding to enable non-developers to build apps |
| US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
| US9922028B2 (en) * | 2015-09-17 | 2018-03-20 | Oslabs Pte. Ltd. | System and method for translation and localization of content in digital applications |
| US9760627B1 (en) * | 2016-05-13 | 2017-09-12 | International Business Machines Corporation | Private-public context analysis for natural language content disambiguation |
| US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
| US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
| US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
| US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
Family Cites Families (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0668558B1 (en) * | 1994-01-14 | 2002-04-17 | Sun Microsystems, Inc. | Method and apparatus for automating the localization of a computer program |
| US5678039A (en) * | 1994-09-30 | 1997-10-14 | Borland International, Inc. | System and methods for translating software into localized versions |
| JP3670324B2 (ja) * | 1994-11-29 | 2005-07-13 | 株式会社東芝 | 情報処理装置 |
| US5694559A (en) | 1995-03-07 | 1997-12-02 | Microsoft Corporation | On-line help method and system utilizing free text query |
| US5918222A (en) | 1995-03-17 | 1999-06-29 | Kabushiki Kaisha Toshiba | Information disclosing apparatus and multi-modal information input/output system |
| US5903859A (en) * | 1996-03-27 | 1999-05-11 | Dell Usa, L.P. | Dynamic multi-lingual software module system |
| US6581048B1 (en) | 1996-06-04 | 2003-06-17 | Paul J. Werbos | 3-brain architecture for an intelligent decision and control system |
| US7165020B2 (en) | 1998-05-29 | 2007-01-16 | Citicorp Development Center, Inc. | Multi-language phrase editor and method thereof |
| US6151022A (en) | 1997-12-01 | 2000-11-21 | Microsoft Corporation | Method and apparatus for statically testing visual resources |
| US6092036A (en) * | 1998-06-02 | 2000-07-18 | Davox Corporation | Multi-lingual data processing system and system and method for translating text used in computer software utilizing an embedded translator |
| WO2000025708A1 (en) | 1998-11-03 | 2000-05-11 | Throwright Llc | Elbow brace for teaching baseball throwing |
| US6275978B1 (en) | 1998-11-04 | 2001-08-14 | Agilent Technologies, Inc. | System and method for term localization differentiation using a resource bundle generator |
| US6339755B1 (en) * | 1998-12-15 | 2002-01-15 | International Business Machines Corporation | Method, system and data structure for splitting language and locale properties in a data processing system |
| US6519571B1 (en) | 1999-05-27 | 2003-02-11 | Accenture Llp | Dynamic customer profile management |
| US6530039B1 (en) | 1999-06-14 | 2003-03-04 | Microsoft Corporation | Porting engine for testing of multi-lingual software |
| US6321190B1 (en) * | 1999-06-28 | 2001-11-20 | Avaya Technologies Corp. | Infrastructure for developing application-independent language modules for language-independent applications |
| US6425123B1 (en) | 1999-06-29 | 2002-07-23 | International Business Machines Corporation | System, method, and program for testing translatability of software by using english multi-byte transliteration creating double-wide characters |
| US6275790B1 (en) * | 1999-07-28 | 2001-08-14 | International Business Machines Corporation | Introspective editor system, program, and method for software translation |
| US6490547B1 (en) | 1999-12-07 | 2002-12-03 | International Business Machines Corporation | Just in time localization |
| US6865716B1 (en) | 2000-05-05 | 2005-03-08 | Aspect Communication Corporation | Method and apparatus for dynamic localization of documents |
| US7865358B2 (en) * | 2000-06-26 | 2011-01-04 | Oracle International Corporation | Multi-user functionality for converting data from a first form to a second form |
| AU2001296823A1 (en) | 2000-10-13 | 2002-04-22 | Trados Corporation | Client-driven workflow environment |
| EP1202168A3 (en) | 2000-10-30 | 2006-08-23 | Microsoft Corporation | System and method for dynamically veryfying the compatibility of a user interface resource |
| US6993568B1 (en) | 2000-11-01 | 2006-01-31 | Microsoft Corporation | System and method for providing language localization for server-based applications with scripts |
| US7006097B2 (en) * | 2000-11-23 | 2006-02-28 | Samsung Electronic Co., Ltd. | Method and apparatus for compression and reconstruction of animation path using linear approximation |
| US6983238B2 (en) | 2001-02-07 | 2006-01-03 | American International Group, Inc. | Methods and apparatus for globalizing software |
| US7340389B2 (en) | 2001-02-16 | 2008-03-04 | Microsoft Corporation | Multilanguage UI with localized resources |
| US20020143523A1 (en) | 2001-03-30 | 2002-10-03 | Lakshmi Balaji | System and method for providing a file in multiple languages |
| US7099885B2 (en) * | 2001-05-25 | 2006-08-29 | Unicorn Solutions | Method and system for collaborative ontology modeling |
| US6938259B2 (en) | 2001-10-02 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | API to enforce internationalization |
| EP1315084A1 (en) | 2001-11-27 | 2003-05-28 | Sun Microsystems, Inc. | Method and apparatus for localizing software |
| US20030154071A1 (en) * | 2002-02-11 | 2003-08-14 | Shreve Gregory M. | Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents |
| AU2003218097A1 (en) * | 2002-03-11 | 2003-09-29 | University Of Southern California | Named entity translation |
| US7110937B1 (en) * | 2002-06-20 | 2006-09-19 | Siebel Systems, Inc. | Translation leveraging |
| JP2004062446A (ja) * | 2002-07-26 | 2004-02-26 | Ibm Japan Ltd | 情報収集システム、アプリケーションサーバ、情報収集方法、およびプログラム |
| US7194413B2 (en) | 2002-07-31 | 2007-03-20 | Deere & Company | Method of providing localized information from a single global transformation source |
| US20040102957A1 (en) * | 2002-11-22 | 2004-05-27 | Levin Robert E. | System and method for speech translation using remote devices |
| US7509251B2 (en) * | 2002-12-23 | 2009-03-24 | International Business Machines Corporation | Mock translating software applications at runtime |
| JP2004362249A (ja) | 2003-06-04 | 2004-12-24 | Advanced Telecommunication Research Institute International | 翻訳知識最適化装置、翻訳知識最適化のためのコンピュータプログラム、コンピュータ及び記憶媒体 |
| US7533372B2 (en) | 2003-08-05 | 2009-05-12 | Microsoft Corporation | Cross language migration |
| US7437704B2 (en) * | 2003-08-28 | 2008-10-14 | Ines Antje Dahne-Steuber | Real-time generation of software translation |
| JP3919771B2 (ja) | 2003-09-09 | 2007-05-30 | 株式会社国際電気通信基礎技術研究所 | 機械翻訳システム、その制御装置、及びコンピュータプログラム |
| US7283950B2 (en) | 2003-10-06 | 2007-10-16 | Microsoft Corporation | System and method for translating from a source language to at least one target language utilizing a community of contributors |
| US7318020B1 (en) * | 2003-10-08 | 2008-01-08 | Microsoft Corporation | Methods and systems for external localization |
| US7814101B2 (en) | 2003-10-30 | 2010-10-12 | Microsoft Corporation | Term database extension for label system |
| US20060173671A1 (en) | 2005-02-02 | 2006-08-03 | Kabushiki Kaisha Toshiba | Localizing tool for client software |
-
2005
- 2005-04-29 US US11/118,544 patent/US7653528B2/en not_active Expired - Fee Related
-
2006
- 2006-03-08 BR BRPI0609159-8A patent/BRPI0609159A2/pt not_active IP Right Cessation
- 2006-03-08 CA CA002600474A patent/CA2600474A1/en not_active Withdrawn
- 2006-03-08 JP JP2008501082A patent/JP5058966B2/ja not_active Expired - Fee Related
- 2006-03-08 AU AU2006255783A patent/AU2006255783B2/en not_active Ceased
- 2006-03-08 WO PCT/US2006/012901 patent/WO2006132700A2/en not_active Ceased
- 2006-03-08 EP EP06749447A patent/EP1856631A4/en not_active Withdrawn
- 2006-03-08 RU RU2007133808/08A patent/RU2422890C2/ru not_active IP Right Cessation
- 2006-03-08 KR KR1020077020578A patent/KR20070110341A/ko not_active Abandoned
- 2006-03-08 MX MX2007011028A patent/MX2007011028A/es active IP Right Grant
-
2007
- 2007-09-09 EG EGNA2007000949 patent/EG25786A/xx active
- 2007-09-12 NO NO20074637A patent/NO20074637L/no unknown
Also Published As
| Publication number | Publication date |
|---|---|
| NO20074637L (no) | 2007-09-28 |
| AU2006255783B2 (en) | 2010-11-11 |
| JP5058966B2 (ja) | 2012-10-24 |
| EP1856631A4 (en) | 2010-01-06 |
| WO2006132700A3 (en) | 2009-04-23 |
| CA2600474A1 (en) | 2006-12-14 |
| EG25786A (en) | 2012-07-29 |
| MX2007011028A (es) | 2007-11-15 |
| US7653528B2 (en) | 2010-01-26 |
| RU2422890C2 (ru) | 2011-06-27 |
| RU2007133808A (ru) | 2009-03-20 |
| JP2008533598A (ja) | 2008-08-21 |
| AU2006255783A1 (en) | 2006-12-14 |
| EP1856631A2 (en) | 2007-11-21 |
| KR20070110341A (ko) | 2007-11-16 |
| US20060206303A1 (en) | 2006-09-14 |
| WO2006132700A2 (en) | 2006-12-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0609159A2 (pt) | ontologia de incorporação de autoração de recurso | |
| KR101203327B1 (ko) | 재사용 가능성 점수 및 제안된 재사용 가능한 데이터에 의한 자원 작성 | |
| US7698126B2 (en) | Localization matching component | |
| KR101311074B1 (ko) | 문화 특징적인 데이터를 생성, 저장, 관리 및 소비하기 위한 방법 및 시스템 | |
| US7886041B2 (en) | Design time validation of systems | |
| Relan | Building REST APIs with Flask | |
| KR101098603B1 (ko) | 원격 경계를 가로질러 컴퓨터 판독가능한 객체들을전달하기 위한 시스템 및 방법 | |
| US10394756B2 (en) | System and method for customizing archive of a device driver generator tool for a user | |
| JP5063014B2 (ja) | アプリケーションローカライゼーション規則を実装するオーサリング | |
| CN101663666B (zh) | 二进制码验证服务 | |
| US11775292B1 (en) | Completing partially constructed designs and creating new designs based on existing designs | |
| HK1098210A (en) | Method and system for creating, storing, managing and consuming culture specific data | |
| Issott | Common Design Patterns for Symbian OS: The Foundations of Smartphone Software |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B08F | Application fees: application dismissed [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 7A ANUI DADE. |
|
| B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2212 DE 28/05/2013. |